// var两种声明方式
/**
 * 1、var a = b = 1相当于var a = 1;b = 1
 * 2、var a = 1,b = 1相当于var a = 1; var b = 1;
 */
// console.log(a, b)
// var a = b = 1 // 报错b undefined
// var a = 1,b = 1 // undefined undefined
// function foo() {
//     console.log(a, b)
// }
//  console.log(a, b);
//  变量提升（基本情况的下的已经搞明白）
// 1
// fn()
// function fn() {
//     console.log('----');
// }
// 2、报错相当于var fn1; fn1() fn1 = ...
// fn1()
// var fn1 = function() {
//     console.log('++++');
// }
// 3、条件判断下的变量提升，不管条件是否成立，都会进行变量提升
// console.log(a3);
// if(false) {
//     var a3 = '++++'
// }
// console.log(a3);
// // 4
// console.log(print())
// if(true) {
//     function print() {
//         console.log('fn4');
//     }
// }
// console.log(print())
// var a = 10;
// (function () {
//     console.log(a)
//     a = 5
//     console.log(process.a)
//     var a = 20;
//     console.log(a)
// })()

// var b = {
//     a,
//     c: b
// }
// console.log(b.c);